package com.thinkTank.oa.entity;

import java.io.Serializable;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

/**
 * 项目
 * 
 * @author pdz
 * @date 2018年8月7日
 */
public class Project implements Serializable {
    private static final long serialVersionUID = 1L;

    private String pid;
    // 项目编号，P开头，数据库中从200000开始自增
    private Integer projectNumber;
    // 来源
    @NotNull(message = "非空")
    private Integer sourceId;
    // 来源备注
    @NotEmpty(message = "非空")
    private String sourceRemark;
    // 项目类型
    @NotEmpty(message = "非空")
    private String projectType;
    // 收录人
    private String collectPersonId;
    // 收录时间
    private String entryTime;
    // 所属领域
    @NotEmpty(message = "非空")
    private String researchField;
    // 国内还是国外，0国内，1国外
    @NotNull(message = "非空")
    private Integer domesticOrForeign;
    // 所在地区
    @NotEmpty(message = "非空")
    private String area;
    // 项目名称
    @NotEmpty(message = "非空")
    private String projectName;
    // 项目状态
    @NotNull(message = "非空")
    private Integer projectStatus;
    // 项目简介
    private String introduction;
    // 关键词
    private String keyWords;
    // 持有人，这里只保存未关联person的持有人
    private String projectHolder;
    // 联系人
    private String projectContactId;
    //技术成熟度
    private Integer technical;

    private String remark1;
    private String remark2;
    private String remark3;

    // 查询数据作为查询条件用
    private String[] notInCustomerIds;

    // 用于展示和查询数据
    private Person per;
    // 仅用来展示状态值
    private String projectStatusWorth;
    private String sourceWorth;
    private String areaWorth;
    private String technicalWorth;
    // 不用于数据库操作
    private Integer projectTypeNumber;
    // 不用于数据库操作
    private Integer researchFieldNumber;
    // 要保存到数据库的十进制数字
    private Integer projectTypeInteger;
    private Integer researchFieldInteger;
    
    //更新时间
    private String updateTime;
    //附件
    private String annex;
    
    /**1为联系人，2为持有人*/
    private Integer personType;

    public Project() {
    }

    public Project(String pid, Integer projectNumber, @NotEmpty(message = "非空") String projectName) {
        this.pid = pid;
        this.projectNumber = projectNumber;
        this.projectName = projectName;
    }

    public String getPid() {
        return pid;
    }

    public void setPid(String pid) {
        this.pid = pid;
    }

    public Integer getProjectNumber() {
        return projectNumber;
    }

    public void setProjectNumber(Integer projectNumber) {
        this.projectNumber = projectNumber;
    }

    public Integer getSourceId() {
        return sourceId;
    }

    public void setSourceId(Integer sourceId) {
        this.sourceId = sourceId;
    }

    public String getSourceRemark() {
        return sourceRemark;
    }

    public void setSourceRemark(String sourceRemark) {
        this.sourceRemark = sourceRemark;
    }

    public String getProjectType() {
        return projectType;
    }

    public void setProjectType(String projectType) {
        this.projectType = projectType;
    }

    public String getCollectPersonId() {
        return collectPersonId;
    }

    public void setCollectPersonId(String collectPersonId) {
        this.collectPersonId = collectPersonId;
    }

    public String getEntryTime() {
        return entryTime;
    }

    public void setEntryTime(String entryTime) {
        this.entryTime = entryTime;
    }

    public String getResearchField() {
        return researchField;
    }

    public void setResearchField(String researchField) {
        this.researchField = researchField;
    }

    public Integer getDomesticOrForeign() {
        return domesticOrForeign;
    }

    public void setDomesticOrForeign(Integer domesticOrForeign) {
        this.domesticOrForeign = domesticOrForeign;
    }

    public String getArea() {
        return area;
    }

    public void setArea(String area) {
        this.area = area;
    }

    public String getProjectName() {
        return projectName;
    }

    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    public Integer getProjectStatus() {
        return projectStatus;
    }

    public void setProjectStatus(Integer projectStatus) {
        this.projectStatus = projectStatus;
    }

    public String getIntroduction() {
        return introduction;
    }

    public void setIntroduction(String introduction) {
        this.introduction = introduction;
    }

    public String getKeyWords() {
        return keyWords;
    }

    public void setKeyWords(String keyWords) {
        this.keyWords = keyWords;
    }

    public String getProjectHolder() {
        return projectHolder;
    }

    public void setProjectHolder(String projectHolder) {
        this.projectHolder = projectHolder;
    }

    public String getProjectContactId() {
        return projectContactId;
    }

    public void setProjectContactId(String projectContactId) {
        this.projectContactId = projectContactId;
    }

    public String getRemark1() {
        return remark1;
    }

    public void setRemark1(String remark1) {
        this.remark1 = remark1;
    }

    public String getRemark2() {
        return remark2;
    }

    public void setRemark2(String remark2) {
        this.remark2 = remark2;
    }

    public String getRemark3() {
        return remark3;
    }

    public void setRemark3(String remark3) {
        this.remark3 = remark3;
    }

    public Person getPer() {
        return per;
    }

    public void setPer(Person per) {
        this.per = per;
    }

    public String getProjectStatusWorth() {
        return projectStatusWorth;
    }

    public void setProjectStatusWorth(String projectStatusWorth) {
        this.projectStatusWorth = projectStatusWorth;
    }

    public Integer getProjectTypeInteger() {
        return projectTypeInteger;
    }

    public void setProjectTypeInteger(Integer projectTypeInteger) {
        this.projectTypeInteger = projectTypeInteger;
    }

    public Integer getResearchFieldInteger() {
        return researchFieldInteger;
    }

    public void setResearchFieldInteger(Integer researchFieldInteger) {
        this.researchFieldInteger = researchFieldInteger;
    }

    public Integer getProjectTypeNumber() {
        return projectTypeNumber;
    }

    public void setProjectTypeNumber(Integer projectTypeNumber) {
        this.projectTypeNumber = projectTypeNumber;
    }

    public Integer getResearchFieldNumber() {
        return researchFieldNumber;
    }

    public void setResearchFieldNumber(Integer researchFieldNumber) {
        this.researchFieldNumber = researchFieldNumber;
    }

    public String[] getNotInCustomerIds() {
        return notInCustomerIds;
    }

    public void setNotInCustomerIds(String[] notInCustomerIds) {
        this.notInCustomerIds = notInCustomerIds;
    }

    public String getSourceWorth() {
        return sourceWorth;
    }

    public void setSourceWorth(String sourceWorth) {
        this.sourceWorth = sourceWorth;
    }

    public String getAreaWorth() {
        return areaWorth;
    }

    public void setAreaWorth(String areaWorth) {
        this.areaWorth = areaWorth;
    }

    public Integer getTechnical() {
        return technical;
    }

    public void setTechnical(Integer technical) {
        this.technical = technical;
    }

	public String getTechnicalWorth() {
		return technicalWorth;
	}

	public void setTechnicalWorth(String technicalWorth) {
		this.technicalWorth = technicalWorth;
	}

	public String getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(String updateTime) {
		this.updateTime = updateTime;
	}

	public String getAnnex() {
		return annex;
	}

	public void setAnnex(String annex) {
		this.annex = annex;
	}

	public Integer getPersonType() {
		return personType;
	}

	public void setPersonType(Integer personType) {
		this.personType = personType;
	}


}
